<?php

//学生项目管理类
class Stuobmanager{
	//获取项目列表页
	public function index(){
		$obor = D("objectorders");//实例化项目订单管理数据操作对象
		$bidor = D("bidorders");//实例化投标订单管理数据操作对象
		$project = D("project");//实例化项目数据操作对象
		$pro = D("promulgator");//实例化发布者数据操作对象

		$pid1 = array();
		$pid2 = array();
		//获取和学生用户关联的项目订单和投标订单的项目编号
		$pid1 = $obor->field("pid")->where(array("role"=>2,"nameid"=>1))->select();
		$pid2 = $bidor->field("pid")->where(array("role"=>2,"pidname"=>1))->select();
		
		//处理查询出来的结果，使之变为只含订单号的一维数组$pidlist
		for($i=0;$i<count($pid1);$i++){
			$p1[]=$pid1[$i]['pid'];
		}
		for($j=0;$j<count($pid2);$j++){
			$p2[]=$pid2[$j]['pid'];
		}
		$pidlist = array_unique(array_merge($p1,$p2));
		//查询与该学生相关的项目并保存在$oblist
		$oblist = $project->where($pidlist)->field("id,name,proid,expiry,addtime,total")->select();
		//查询项目的发布者
		$promulgator = $pro->field("username")->where($oblist['proid'])->select();
		P($promulgator);
		P($oblist);
		//模板需要输出的信息有：项目编号、项目名称、发布者、完成期限、创建日期、金额
		$this->display();
	}
	
	
	//获取投标订单列表
	public function getbidorder(){
		$bidor = D("bidorders");//实例化投标订单数据操作类
		$project = D("project");//实例化项目数据操作对象
		
		//拼装当前学生的搜索条件
		$where =array("role"=>2,"pidname"=>1); 
		//订单状态
		if(isset($_GET['bidorstatus'])){
			$where['bidorstatus'] = $_GET['bidorstatus']; 
		}
		//搜索投标时间
		if(isset($_GET['addtime1']) && isset($_GET['addtime2'])){
			$where['addtime >'] = $_GET['addtime1']; 
			$where['addtime <'] = $_GET['addtime2']; 
		}
		//搜索项目名称
		if(isset($_GET['proname'])){
			$proid = $project->field("id")->where(array("name"=>$_GET['proname']))->find();
			$where['pid'] = $proid; 
		}
		//搜索项目编号
		if(isset($_GET['pid'])){
			$where['pid'] = $_GET['pid']; 
		}
		//搜索投标金额
		if(isset($_GET['total1']) && isset($_GET['total1'])){
			$where['total >'] = $_GET['total1']; 
			$where['total <'] = $_GET['total2']; 
		}
		
		//搜索当前学生的所有投标订单
		$bidorlist = $bidor->field("id,pid,total,pidname ,addtime time,bidorstatus,role")->where($where)->select();
		//搜索投标订单对应的项目名称
		foreach($bidorlist as $v){
			//$bidorlist1 = $v['pid'];
			$proname[] = $project->field("name")->where(array("id"=>$v['pid']))->find();
		}
		//搜索投标订单对应投标人名称
		foreach($bidorlist as $v){
			//判断投标人角色，找出相应的投标人
			if($v['role']==2){
				$pidname = D("student");
				$pidnamelist[] = $pidname->field("name")->where(array("id"=>$v['pidname']))->find();
			}/*elseif($v['role']==1){
				$pidname = D("atelier");
				$pidnamelist[] = $pidname->field("name")->where(array("id"=>$v['pidname']))->find();
			}*/
		}
		P($pidnamelist);
		P($proname);
		P($bidorlist);
		
		
		//前台需要信息：投标时间、订单编号、项目编号、项目名称、金额、投标人、状态、（操作(界面连接)）
		//模板仿照猪八戒的交易管理
	}
	
	
	
	//查看单个投标订单
	public function bidorderview(){
		$project = D("project");//实例化项目数据操作对象
		$bidor = D("bidorders");//实例化投标订单数据操作类
		//订单详情
		$bidlist = $bidor->where(array("id"=>$_GET['id']))->find();
		//对应的项目详情
		$prolist = $project->field("id,name,proid,expiry ex,demand de,upfid uf,imagesid img,addtime time,total,oborstatus sta,clicknum cl,bidnum")->where(array("id"=>$bidlist['pid']))->find();
		
		P($bidlist);
		P($prolist);
		
		/*前台显示：
		项目详情：编号、名称、完成期限、发布者、需求、相关文件、图片、创建日期、金额、状态、浏览量、投标量
		订单详情：编号、项目、投标金额、投标人、投标（项目）描述、投标时间、状态、角色
		*/
	}
	
	
	
	
	//获取项目订单列表
	public function getoborder(){
		$objor = D("objectorders");//实例化项目订单数据操作类
		$project = D("project");//实例化项目数据操作对象
		
		//拼装当前学生的搜索条件
		$where =array("role"=>2,"nameid"=>1); 
		//订单状态
		if(isset($_GET['oborstatus'])){
			$where['oborstatus'] = $_GET['oborstatus']; 
		}
		//搜索项目时间
		if(isset($_GET['addtime1']) && isset($_GET['addtime2'])){
			$where['addtime >'] = $_GET['addtime1']; 
			$where['addtime <'] = $_GET['addtime2']; 
		}
		//搜索项目名称
		if(isset($_GET['proname'])){
			$proid = $project->field("id")->where(array("name"=>$_GET['proname']))->find();
			$where['pid'] = $proid; 
		}
		//搜索项目编号
		if(isset($_GET['pid'])){
			$where['pid'] = $_GET['pid']; 
		}
		//搜索投标金额
		if(isset($_GET['total1']) && isset($_GET['total1'])){
			$where['total >'] = $_GET['total1']; 
			$where['total <'] = $_GET['total2']; 
		}
		//搜索交接日期
		if(isset($_GET['overtime1']) && isset($_GET['overtime2'])){
			$where['overtime >'] = $_GET['overtime1']; 
			$where['overtime <'] = $_GET['overtime2']; 
		}
		//搜索当前学生的项目订单
		//P($objor->select());
		$objorlist = $objor->field("id,pid,total,nameid,addtime,overtime,oborstatus,role")->where($where)->select();
		//搜索项目订单对应的项目名称
		foreach($objorlist as $v){
			//$bidorlist1 = $v['pid'];
			$proname[] = $project->field("name")->where(array("id"=>$v['pid']))->find();
		}
		   //搜索项目订单对应投标人名称
			foreach($objorlist as $v){
				//判断投标人角色，找出相应的投标人
				if($v['role']==2){
					$pidname = D("student");
					$pidnamelist[] = $pidname->field("name")->where(array("id"=>$v['nameid']))->find();
			}
		}
		P($objorlist);
		P($pidnamelist);
		P($proname);
		
		
		
		//前台需要信息：项目时间、订单编号、交接日期、项目编号、项目名称、金额、承接人、状态、（操作(界面连接)）
		//模板仿照猪八戒的交易管理
	}
	
	
	
	
	//查看单个项目订单
	public function oborderview(){
		$project = D("project");//实例化项目数据操作对象
		$objor = D("objectorders");//实例化项目订单数据操作类
		//订单详情
		$objlist = $objor->where(array("id"=>$_GET['id']))->find();
		//对应的项目详情
		$prolist = $project->field("id,name,proid,expiry ex,demand de,upfid uf,imagesid img,addtime time,total,oborstatus sta,clicknum cl,bidnum")->where(array("id"=>$objlist['pid']))->find();
		
		P($objlist);
		P($prolist);
		
		/*前台显示：
		项目详情：编号、名称、完成期限、发布者、需求、相关文件、图片、创建日期、金额、状态、浏览量、投标量
		订单详情：项目时间、订单编号、交接日期、项目编号、项目名称、金额、承接人、状态、（操作(界面连接)）
		*/
	}
	
	
	
	
	//获取交易完成页
	public function getorderok(){
		$project = D("project");//实例化项目数据操作对象
		$objor = D("objectorders");//实例化项目订单数据操作类
		$stu = D("student");//实例化学生数据操作类

		//订单详情
		$objlist = $objor->where(array("id"=>$_GET['id']))->find();
		//对应的项目详情
		$prolist = $project->field("id,name,proid,expiry ex,demand de,upfid uf,imagesid img,addtime time,total,oborstatus sta,clicknum cl,bidnum")->where(array("id"=>$objlist['pid']))->find();
		
		P($objlist);
		P($prolist);
		
		//项目完成者，如果是工作室则为成员列表，如果是学生则是学生本人
		if($objlist['role']==1){
		
			$stulist = $stu->field("name")->where(array("atelierid"=>$objlist['nameid']))->select();
		}elseif($objlist['role']==2){
			echo "xuesheng";
			$stulist = $stu->field("name")->where(array("id"=>$objlist['nameid']))->select();
		}
		
		P($stulist);
		/*前台显示：
		项目详情：编号、名称、完成期限、发布者、需求、相关文件、图片、创建日期、金额、状态、浏览量、投标量
		订单详情：项目时间、订单编号、交接日期、项目编号、项目名称、金额、承接人、状态
		项目完成者：以多选框形式展现
		*/
	}
	
	/*
		将此功能以及获取项目投标页、项目投标移至common里的项目管理，作为公共
		功能未完全完成且未经过测试
	
	*/
	
	
	//交易完成
	public function orderok(){
		$project = D("project");//实例化项目数据操作对象
		$objor = D("objectorders");//实例化项目订单数据操作类
		
		//更改项目属性为待确认完成以及订单状态为完成，通过界面隐藏的两个input属性，一个是prostatus另一个是oborstatus
		$project->where(array("id"=>$_POST['pid']))->update();
		$objor->where(array("id"=>$_POST['objorid']))->update();
		
		
		
	}
}